// basic_para.h

#ifndef DODO_BASIC_PARA_H
#define DODO_BASIC_PARA_H

namespace quigon
{
// There's never a stuff like Basic_Para;
// because it would vary from different lidars very greatly.
// Every Class and Functions related to Para is template.
//
// In general, a class that acts as a Para should be
// like a package in struct style, with public data members.
// It's not worth to use class style.
//
// Para should have some basic fields to make current utilities
// to work. Such as for the STK lidar:
//
// [typename]			[var_name]
// must:
// string				lidar_name
// size_t				size
// double				bin_size				// e.g. 0.0075, unit km.
// double				start_value				// the first data point's position
// double				station_height
// size_t				zero_meter_index
// size_t				first_usable_index
// Link_Stuff<Time_Serie>			lidar_ratio		// these file names and paths can be env var.
// Link_Stuff<Time_Serie>			lidar_constant_file
// Link_Stuff<Time_Serie>			sin_elev_angle_file
// Link_Stuff<Lidar_Profile>		overlap_file
// Link_Stuff<Lidar_Profile>		afterpulse_file
// string				data_path
// string				file_ext
// Lidar_Profile		distance	[]
// Lidar_Cross_Ref		distance_i	[]
// double()				height		()
// size_t()				height_i	()
//
//
// double				lambda					// laser wavelength, in um, e.g. 523.0
// double				rho_n					// 退极化因子 for that wavelength, 0.0284

}

#endif

